//
// Created by user on 2022/1/17.
//
/**
 * 题目描述
给定一个排序的整数数组 nums ，其中元素的范围在 闭区间 [lower, upper] 当中，返回不包含在数组中的缺失区间。
示例：

输入: nums = [0, 1, 3, 50, 75], lower = 0 和 upper = 99,
输出: ["2", "4->49", "51->74", "76->99"]
 */
#include <iostream>
#include <vector>
#include <string>

using namespace std;
vector<string> findMissingRanges(vector<int>& nums, int lower, int upper) {
    vector<string> res;
    long pre = lower-1;

    for (int i = 0; i < nums.size(); ++i) {
        if(nums[i]==pre+2){res.push_back(to_string(pre+1));}
        else if(nums[i]-pre>2){res.push_back(to_string(pre+1)+"->"+to_string(nums[i]-1));}
        pre = nums[i];
    }
    //最后还剩最后一个元素
    if(pre+1==upper){res.push_back(to_string(pre));}
    else if(upper-pre>1){res.push_back(to_string(pre + 1) + "->" + to_string(upper));}

    return res;
}

int main(){

    double f = 23.43;
    std::wstring f_str = std::to_wstring(f);
    std::wcout << f_str;
    return 0;
}